Robotic mop

ABSTRACT

A robotic mop includes one or more mop assemblies that may be used for support, mobility, and/or scrubbing. The mop assemblies may be operated to both scrub and move the robotic mop along the intended path. For example, the robotic mop may operate the mop assemblies in this way by rotating the mop assemblies in one or more directions at various different speeds, by tilting the mop assemblies (whether or not while rotating the mop assemblies at the time), and so on. In this way, the robotic mop may be able to move while scrubbing with various amounts of force without disrupting navigation.

FIELD

The described embodiments relate generally to automated cleaning devices. More particularly, the present embodiments relate to a robotic mop.

BACKGROUND

People regularly face the burden of any number of different chores in the home and/or other environments. Examples of such chores include floor cleaning (such as vacuuming, mopping, and so on), dusting, dishes, laundry, cooking, washing windows, washing walls, wiping down counters and cabinets, picking up clutter, and so on. The character of chores needed to be performed may change over time, but the amount of chores and/or burden does not appear to diminish. If anything, the burden may have increased over time as people who may previously have performed these chores as dedicated homemakers may have had to enter the workforce, greatly reducing available time for completing household and/or other chores.

Automation and/or tools may be developed to perform and/or assist in the performance of such chores. For example, washing machines, dryers, and dishwashers respectively reduced the burden of washing, rinsing, and/or drying laundry and dishes. By way of another example, food processors reduced the burden of chopping up food for cooking. In yet another example, vacuum cleaners reduced the burden of cleaning floors. Robotic vacuum cleaners further reduced that burden by automating the performance of using the vacuum cleaner.

Overview

The present disclosure relates to a robotic mop that includes one or more mop assemblies that are used for support, mobility, and scrubbing. The mop assemblies may be operated to both scrub and move the robotic mop along the intended path. For example, the robotic mop may operate the mop assemblies in this way by rotating the mop assemblies in one or more directions at various different speeds, by tilting the mop assemblies (whether or not while rotating the mop assemblies at the time), and so on. In this way, the robotic mop may be able to move while scrubbing with various amounts of force without disrupting navigation.

In various embodiments, a mop device includes a base, a controller coupled to the base, a reservoir coupled to the base, a dispensing head coupled to the reservoir, a first mop assembly, a second mop assembly, and a third mop assembly. The first mop assembly includes a first motor mount, a first servo coupled to the base and to the first motor mount, a first mop head, and a first motor coupled to the first mop head and the first motor mount. The second mop assembly includes a second motor mount, a second servo coupled to the base and to the second motor mount, a second mop head, and a second motor coupled to the second mop head and the second motor mount. The third mop assembly includes a third motor mount, a third servo coupled to the base and to the third motor mount, a third mop head, and a third motor coupled to the third mop head and the third motor mount.

In some examples, the first mop head is configured to couple to a mop pad. In a number of examples, the mop device further includes a fourth mop assembly having a fourth motor mount, a fourth servo coupled to the base and to the fourth motor mount, a fourth mop head, and a fourth motor coupled to the fourth mop head and the fourth motor mount. In various examples, the controller is operable to cause the first servo to tilt the first motor mount with respect to the base in at least one of two directions. In some examples, the controller is operable to cause the first motor to rotate the first mop head in at least one of two directions. In a number of examples, the controller is operable to cause the first motor to rotate the first mop head in at least a first speed and a second speed. In various examples, the first mop assembly, the second mop assembly, and the third mop assembly are configured to cooperatively support the base on a surface.

In various embodiments, a mop device includes a base, a controller coupled to the base, a reservoir coupled to the base, a dispensing head coupled to the reservoir, a first mop assembly coupled to the base, and a second mop head coupled to the base. The first mop assembly and the second mop head are operable to support the base on a surface. The controller is operable to operate at least one of the first mop assembly or the second mop head to direct movement of the mop device in a direction.

In some examples, the controller is operable to rotate the first mop assembly. In a number of examples, the controller is operable to control a speed at which the first mop assembly rotates. In various examples, the controller is operable to tilt the first mop assembly. In some examples, the controller is operable to control a direction in which the first mop assembly rotates. In a number of examples, the controller is operable to receive input specifying the direction. In some implementations of such examples, the input is detected information regarding movement of the mop device by a user.

In a number of embodiments, a mop device includes a base, a controller coupled to the base, a reservoir coupled to the base, a dispensing head coupled to the reservoir, a first mop assembly coupled to the base, and a second mop head coupled to the base. The first mop assembly and the second mop head are operable to support the base on a surface. The controller is operable to move the mop device in a direction by at least one of rotating the first mop assembly or the second mop head, controlling a rotation speed of the first mop assembly or the second mop head, controlling a rotation direction of the first mop assembly or the second mop head, or tilting the first mop assembly or the second mop head.

In various examples, the controller is operable to rotate the first mop assembly and the second mop head, control the rotation speed of the first mop assembly and the second mop head, control the rotation direction of the first mop assembly and the second mop head, and tilt the first mop assembly and the second mop head. In some examples, the controller is operable to control the first mop assembly and the second mop head independently of each other. In a number of examples, the controller moves the mop device in the direction according to a stored map. In various examples, the controller moves the mop device in the direction according to input received from a remote control unit. In some examples, the controller controls movement of the first mop assembly or the second mop head to account for fluid between the first mop assembly or the second mop head and the surface.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements.

FIG. 1 depicts an example robotic mop or other mop device.

FIG. 2A depicts a close-up view of the mop assembly of FIG. 1 with the motor rotating the mop head and the mop pad in a first direction.

FIG. 2B depicts the close-up view of FIG. 2A after the motor switches to rotate the mop head and the mop pad in a second direction.

FIG. 2C depicts the close-up view of FIG. 2B after the motor ceases to rotate the mop head and the mop pad.

FIG. 2D depicts the close-up view of FIG. 2C after the servo rotates the servo arm in a first direction and causes the motor mount, motor, mop head, and mop pad to tilt in a first orientation.

FIG. 2E depicts the close-up view of FIG. 2D after the servo rotates the servo arm in a second direction and causes the motor mount, motor, mop head, and mop pad to tilt in a second orientation.

FIG. 3 depicts a flow chart illustrating an example method for operating a robotic mop or other mop device. This method may be performed by and/or using the robotic mop of FIG. 1.

DETAILED DESCRIPTION

Reference will now be made in detail to representative embodiments illustrated in the accompanying drawings. It should be understood that the following descriptions are not intended to limit the embodiments to one preferred embodiment. To the contrary, it is intended to cover alternatives, modifications, and equivalents as can be included within the spirit and scope of the described embodiments as defined by the appended claims.

The description that follows includes sample systems, methods, apparatuses, and computer program products that embody various elements of the present disclosure. However, it should be understood that the described disclosure may be practiced in a variety of forms in addition to those described herein.

Robotic mops have not eased the burden of mopping as successfully as robotic vacuum cleaners. This is due to the fact that robotic mops face more challenges than robotic vacuum cleaners. Robotic vacuum cleaners involve mobility and suction whereas robotic mops involve mobility, liquid dispensing and/or uptake, and scrubbing pressure. Typically, robotic mops use wheels for mobility and one or more mop heads for scrubbing. However, such robotic mops do not typically scrub with any significant amount of force as doing so would pull the wheels off track, disrupting the intended path of the robotic mop. As a result of using such reduced force, such robotic mops may not perform particularly well.

The following disclosure relates to a robotic mop that overcomes these issues. The robotic mop of the present disclosure uses one or more mop assemblies for support, mobility, and scrubbing. The mop assemblies may be operated to both scrub and move the robotic mop along the intended path. For example, the robotic mop may operate the mop assemblies in this way by rotating the mop assemblies in one or more directions at various different speeds, by tilting the mop assemblies (whether or not while rotating the mop assemblies at the time), and so on. In this way, the robotic mop may be able to move while scrubbing with various amounts of force without disrupting navigation.

These and other embodiments are discussed below with reference to FIGS. 1-3. However, those skilled in the art will readily appreciate that the detailed description given herein with respect to these Figures is for explanatory purposes only and should not be construed as limiting.

FIG. 1 depicts an example robotic mop 100 or other mop device. The robotic mop 100 includes one or more mop assemblies 101A-101D. The mop assemblies 101A-101D may be used for support, mobility, and scrubbing. The mop assemblies 101A-101D may be operated to both scrub and move the robotic mop 100 along an intended path. For example, the robotic mop 100 may operate the mop assemblies 101A-101D in this way by rotating the mop assemblies 101A-101D in one or more directions at various different speeds, by tilting the mop assemblies 101A-101D (whether or not while rotating the mop assemblies 101A-101D at the same time), and so on. In this way, the robotic mop 100 may be able to move while scrubbing with various amounts of force without disrupting navigation.

As shown, the robotic mop 100 may include a base 118 to which other components may be coupled. The mop assemblies 101A-101D may be coupled to the base 118 so as to support the robotic mop and/or to move the robotic mop 100. Other components coupled to the base 118 may include a controller 102, one or more batteries 103 and/or other power sources and/or wired and/or wireless charging and/or power components (such as a wall plug, a charging adapter port, an inductive charging coil, and so on), one or more pumps 113, one or more fluid reservoirs 114, one or more dispensing heads 117, and so on.

The controller 102 may be operable to control and/or direct one or more other components, such as via one or more wires 110A-110D, 111A-111D, 115 and/or other communication connections. For example, the controller 102 may control the pump 113 via the wire 115 and/or other communication connection to obtain fluid (such as mop fluid) from the fluid reservoir 114 via one or more tubes 116 and/or dispense the fluid via the dispensing head 117.

The controller 102 may control one or more the mop assemblies 101A-101D to scrub one or more surfaces on which fluid dispensed by the dispensing head 117 may be disposed and/or pick up such fluid. For example, the mop pads 108A and/or 108B positioned near where the dispensing head 117 may dispense fluid may be used to scrub whereas the mop pads 108C and/or 108D positioned further away from where the dispensing head 117 may dispense fluid and may pick up the fluid.

The mop assemblies 101A-101D may each include one or more servos 104A-104D (servo 104B not shown due to being obscured in FIG. 1 by the base 118) that respectively have one or more servo arms 109A-109D (servo arm 109B not shown), one or more motor mounts 105A-105D, one or more motors 106A-106D, one or more mop heads 107A-107D, one or more mop pads 108A-108D, and so on. The controller 102 may be operable to cause the servos 104A-104D to rotate their respective servo arms 109A-109D in one or more opposing directions Such rotation may cause the respective motor mounts 105A-105D, motors 106A-106D, mop heads 107A-107D, mop pads 108A-108D that are connected to the respective servo arms 109A-109D to tilt in one or more orientations in one or more opposing directions (such as clockwise and counterclockwise) with respect to the base 118. The controller 102 may also be operable to cause the motors 106A-106D to rotate the respective mop heads 107A-107D and mop pads 108A-108D that are connected to the respective servo arms 109A-109D in one or more opposing directions (such as clockwise and counterclockwise) at one or more different speeds with respect to the motors.

The controller 102 may control movement of the robotic mop 100 in one or more directions with varying amounts of force by operating one or more of the mop assemblies 101A-101D. The direction of such movement may vary depending on the speed that the mop pads 108A-108D rotate, the speed that one or more of the mop pads 108A-108D rotate with respect to each other, the direction that one or more of the mop heads 107A-107D rotate with respect to each other, a tilt between one or more of mop pads 108A-108D and one or more surfaces, the friction (such as whether or not there is fluid between one or more of the mop pads 108A-108D and one or more surfaces, and so on.

For example, the controller 102 may operate the mop assemblies 101A-101D to maintain the robotic mop 100 in place while the mop pads 108A-108D are rotating by rotating the mop pads 108A and 108D clockwise and the mop pads 108B and 108C counterclockwise (all at approximately the same speed). Alternatively, the controller 102 may operate the mop assemblies 101A-101D to maintain the robotic mop 100 in place while the mop pads 108A-108D are rotating by rotating the mop pads 108A and 108D counterclockwise and the mop pads 108B and 108C clockwise (all at approximately the same speed).

By way of another example, the controller 102 may operate the mop assemblies 101A-101D to maintain the robotic mop 100 to pull towards the right (shown as the bottom in FIG. 1) by rotating the mop pads 108A and 108B clockwise at approximately the same speed. Conversely, the controller 102 may operate the mop assemblies 101A-101D to maintain the robotic mop 100 to pull towards the left (shown as the top in FIG. 1) by rotating the mop pads 108A and 108B counterclockwise at approximately the same speed.

By way of yet another example, the controller 102 may operate the mop assemblies 101A-101D to maintain the robotic mop 100 to pull towards the right (shown as the bottom in FIG. 1) by rotating the mop pads 108C and 108D clockwise at approximately the same speed. Conversely, the controller 102 may operate the mop assemblies 101A-101D to maintain the robotic mop 100 to pull towards the left (shown as the top in FIG. 1) by rotating the mop pads 108C and 108D counterclockwise at approximately the same speed.

In still another example, the controller 102 may operate the mop assemblies 101A-101D to rotate the robotic mop 100 in a first direction (such as counterclockwise with respect to FIG. 1) by rotating the mop pads 108A-108D clockwise at approximately the same speed. Conversely, the controller 102 may operate the mop assemblies 101A-101D to rotate the robotic mop 100 in a second opposite direction (such as clockwise with respect to FIG. 1) by rotating the mop pads 108A-108D counterclockwise at approximately the same speed.

Similarly, the controller 102 may operate the mop assemblies 101A-101D to pull the robotic mop 100 in a particular direction by rotating the mop pads 108A-108D at different speeds. For example, the robotic mop 100 may pull in the direction of one of the mop pads 108A-108D that is rotating faster than one or more of the others.

By way of another example, the controller 102 may operate the mop assemblies 101A-101D to pull the robotic mop 100 in a particular direction by rotating the mop pads 108A-108D all at one speed and then slowing the rotation of one. By way of illustration, slowing the mop pad 108A in such a scenario would cause the robotic mop 100 to pull to the left (shown as the top in FIG. 1).

The controller 102 may also operate the mop assemblies 101A-101D to cause motion in one or more directions by tilting one or more of the mop pads 108A-108D with respect to one or more of the surfaces. Such tilting may cause a mop pad 108A-108D that is not currently rotating to engage (such as frictionally) the surface and affect the motion caused by another mop pad 108A-108D that is rotating. Essentially, the mop pad 108A-108D may engage the surface to act as a brake on the motion caused by the other mop pad 108A-108D that is rotating. Such tilting may also cause a mop pad 108A-108D that is rotating to engage (such as frictionally) the surface more on part of the mop pad 108A-108D that is rotating in a first direction than another part of the mop pad 108A-108D that is rotating in a second, opposite direction. This may cause the robotic mop 100 to pull toward the first direction. Essentially, as the part of the mop pad 108A-108D that is rotating in the first direction engages the surface more than the other part of the mop pad 108A-108D that is rotating in the second, opposite direction, the mop pad 108A-108D may operate as a wheel moving in the first direction. In other words, the controller 102 may tilt a mop pad 108A-108D that is rotating in a first direction to cause the robotic mop 100 to pull in a second, opposite direction.

The controller 102 may also operate the mop assemblies 101A-101D to cause motion in one or more directions by altering the friction between one or more of the mop pads 108A-108D and one or more surfaces. For example, the robotic mop 100 may pull in the direction of one of the mop pads 108A-108D that has more friction between itself and one or more surfaces. One way that the controller 102 may alter the friction between one or more of the mop pads 108A-108D is by causing the pump 113 to dispense fluid via the dispensing head 117. Fluid between one or more of the mop pads 108A-108D and one or more surfaces may increase friction between the one or more of the mop pads 108A-108D and the one or more surfaces.

By way of illustration, the controller 102 may cause the pump 113 to dispense fluid via the dispensing head 117. As the dispensing head 117 is positioned closer to the mop pads 108A and 108D than the mop pads 108B and 108C, the mop pads 108A and 108D may encounter the fluid before the mop pads 108B and 108C. This may cause there to be more friction between the mop pads 108A and 108D and one or more surfaces than the mop pads 108B and 108C and one or more surfaces. This may change as the robotic mop 100 moves with respect to the fluid, which may cause the mop pads 108B and 108C to encounter the fluid.

The more that one of the mop pads 108A-108D is tilted, the more friction the lesser tilted side of the one of the mop pads 108A-108D has. This may be because the lesser tilted side may be contacting one or more surfaces with more force and thus more thrust is generated in the opposite direction of the rotation.

However, although tilt is discussed herein, the tilt may be slight. Tilt may cause one side of one of the mop pads 108A-108D to engage one or more surfaces with lesser or greater force while still contacting the one or more surfaces, may cause the side to not contact the one or more surfaces, and so on. Various configurations are possible and contemplated without departing from the scope of the present disclosure.

As discussed above, the controller 102 may be able to use tilt, rotation direction, rotation speed, friction, and so on of one or more of the mop pads 108A-108D to direct movement of the robotic mop 100. However, some of these factors may produce greater changes in motion than others. For example, the order of magnitude of effect may be tilt, direction, and then speed.

The controller 102 may control one or more of the mop pads 108A-108D to move the robotic mop 100 along a navigation path. This may be implemented in a variety of different ways.

For example, the controller 102 may include a wired and/or wireless interface to a remote control unit that an operator may use to direct the robotic mop. In such an example, the controller 102 may control the mop pads 108A-108D (and/or the pump 113 and/or other components) to move the robotic mop 100 in response to input received via the remote control unit. Various configurations are possible and contemplated without departing from the scope of the present disclosure.

By way of another example, the controller 102 may store one or more maps that describe a route for the robotic mop 100 to travel. In such an example, the controller 102 may control the mop pads 108A-108D (and/or the pump 113 and/or other components) to move the robotic mop 100 according to one of the maps. Various configurations are possible and contemplated without departing from the scope of the present disclosure.

In some implementations of such examples, the controller 102 may adjust control of the mop pads 108A-108D to account for various factors. For example, the controller 102 may alter control of the mop pads 108A-108D when controlling the pump 113 to dispense fluid in order to compensate for the way that the fluid will alter the friction between the mop pads 108A-108D and one or more surfaces. Various configurations are possible and contemplated without departing from the scope of the present disclosure.

In still other examples, the robotic mop 100 may include one or more sensors (not shown). Such sensors may include one or more compasses, accelerometers, global and/or other positioning system sensors, inertial sensors, moisture detectors, and so on. In such an example, the controller 102 may control the mop pads 108A-108D (and/or the pump 113 and/or other components) to move the robotic mop 100 according to data from one or more of the sensors. Various configurations are possible and contemplated without departing from the scope of the present disclosure.

In various examples, one of more of these examples may be combined. By way of illustration, in some implementations, the controller 102 may record one or more maps based on input received from one or more remote control units, by using one or more sensors (not shown) to record path data obtained from one or more sensors that detect while a user moves the robotic mop 100, and so on. By way of another illustration, the controller 102 may control the mop pads 108A-108D (and/or the pump 113 and/or other components) to move the robotic mop 100 according to one of the maps, detect when movement does not result as expected using one or more sensors, and control the mop pads 108A-108D to adjust the movement of the robotic mop 100. Various configurations are possible and contemplated without departing from the scope of the present disclosure.

The mop pads 108A-108D may be respectively coupled to a respective one of the mop heads 107A-108D. Such coupling may include adhesive attachment, hook and loop attachment (such as using attachment mechanisms sold under the Velcro™ brand), and so on.

The mop pads 108A-108D may be formed from one or more kinds of foam, cotton, and so on. The mop pads 108A-108D are shown as circularly shaped. However, it is understood that this is an example. In other implementations, one of the mop pads 108A-108D may be configured with other shapes, such as a square or other rectangle. Various configurations are possible and contemplated without departing from the scope of the present disclosure.

Various components of the robotic mop 100 (such as the base 118, one or more of the motor mounts 105A-105D, one or more of the mop heads 107A-107D, and so on) may be formed from one or more of a variety of different materials. Such materials may include, but are not limited to, one or more plastics and/or polymers, metals, alloys, wood, and so on.

The controller 102 may be any kind of electronic device. Examples of such devices include, but are not limited to, one or more desktop computing devices, laptop computing devices, server computing devices, mobile computing devices, tablet computing devices, set top boxes, digital video recorders, televisions, displays, wearable devices, smart phones, digital media players, and so on. The controller 102 may include one or more processing units and/or other processors and/or control units, one or more non-transitory storage media (which may take the form of, but is not limited to, a magnetic storage medium; optical storage medium; magneto-optical storage medium; read only memory; random access memory; erasable programmable memory; flash memory; and so on), one or more communication units, and/or other components. The processing unit may execute instructions stored in the non-transitory storage medium to perform various functions. Such functions may include operating one or more of the servos 104A-104D, operating one or more of the motors 106A-106D, causing the pump 113 to dispense fluid from the fluid reservoir 114 via the dispensing head 117, navigating and/or otherwise moving the robotic mop 100, obtaining power from the battery 103 via one or more wires 112 and/or other wired and/or wireless power connections, and so on.

Although the robotic mop 100 is illustrated and described as including particular components arranged in a particular configuration, it is understood that this is an example. In a number of implementations, various configurations of various components may be used without departing from the scope of the present disclosure.

For example, the robotic mop 100 is illustrated and described as including four mop assemblies 101A-101D. However, it is understood that this is an example. In various implementations, the robotic mop 100 may include any number of mop assemblies 101A-101D, such as two, five, ten, and so on. Various configurations are possible and contemplated without departing from the scope of the present disclosure.

By way of another example, the robotic mop 100 is illustrated and described as using only the four mop assemblies 101A-101D for support. However, it is understood that this is an example. In various implementations, the robotic mop 100 may include other components (such as one or more wheels, braces, struts, and so on) that support and/or aid in supporting the robotic mop 100. Various configurations are possible and contemplated without departing from the scope of the present disclosure.

In yet another example, the robotic mop 100 is illustrated and described as using one or more servos 104A-104D and/or one or more motors 106A-106D to move one or more portions of the mop assemblies 101A-101D and/or to move one or more of the mop assemblies 101A-101D with respect to the base 118. However, it is understood that this is an example. In various implementations, the robotic mop 100 may include other components operable to perform one or more such functions. Various configurations are possible and contemplated without departing from the scope of the present disclosure.

Moreover, the robotic mop 100 is illustrated and described as including four mop assemblies 101A-101D. It is understood that this is an example. In other implementations, other numbers of mop assemblies 101A-101D may be used, such as two, three, five, and so on. However, navigation may improve when using four mop assemblies 101A-101D as opposed to two or three. Various configurations are possible and contemplated without departing from the scope of the present disclosure.

Additionally, the present disclosure is described in the context of a robotic mop 100. However, it is understood that this is an example. In various implementations, the techniques disclosed herein may be used in the context of other devices without departing from the scope of the present disclosure. Various configurations are possible and contemplated. For example, in some examples, the robotic mop 100 may include a vacuum module that may be used to vacuum before mopping. Various configurations are possible and contemplated without departing from the scope of the present disclosure.

FIGS. 2A-2E depict close-up views of the mop assembly 101A of FIG. 1 illustrating control of the mop assembly 101A produced by controlling the motor 106A via the wire 110A, the servo 104A via the wire 111A, and so on. As is illustrated in these figures and described below, the servo 104A may be controlled to rotate the servo arm 109A in a first direction 120A and/or a second, opposing direction 120B, thus tilting the motor mount 105A, motor 106A, mop head 107A, and mop pad 108A in a first direction and/or a second, opposing direction. As is also illustrated in these figures and described below, the motor 106A may be controlled to rotate the mop head 107A and the mop pad 108A in a first direction 121A and/or a second, opposing direction 121B.

FIG. 2A depicts a close-up view of the mop assembly 101A of FIG. 1. As shown, the motor 106A is rotating the mop head 107A and mop pad 108A in a first direction 121A. The motor 106A may be rotating the mop head 107A and mop pad 108A in the first direction 121A at any of a number of different speeds, such as 25 revolutions per second, 100 revolutions per second, and so on.

FIG. 2B depicts the close-up view of FIG. 2A after the motor 106A switches to rotate the mop head 107A and mop pad 108A in a second direction 121B. The motor 106A may be rotating the mop head 107A and mop pad 108A in the second direction 121B at any of a number of different speeds.

FIG. 2C depicts the close-up view of FIG. 2B after the motor 106A ceases to rotate the mop head 107A and mop pad 108A. Alternatively, the motor 106A may not be rotating the mop head 107A and mop pad 108A and may not previously have been doing so.

FIG. 2D depicts the close-up view of FIG. 2C after the servo 104A rotates the servo arm 109A in a first direction 120A. This may cause the motor mount 105A, motor 106A, mop head 107A, and mop pad 108A to tilt in a first orientation.

FIG. 2E depicts the close-up view of FIG. 2D after the servo 104A rotates the servo arm 109A in a second direction 120B. This may cause the motor mount 105A, motor 106A, mop head 107A, and mop pad 108A to tilt in a second orientation.

Although FIGS. 2A-2E are illustrated and described as the servo 104A and/or the motor 106A to cause movement of the mop assembly 101A. However, it is understood that this is an example. In various implementations, the mop assembly 101A may include other components operable to perform one or more such functions. Various configurations are possible and contemplated without departing from the scope of the present disclosure.

FIG. 3 depicts a flow chart illustrating an example method 300 for operating a robotic mop or other mop device. This method may be performed by and/or using the robotic mop 100 of FIG. 1.

At operation 310, a robotic mop, such as the robotic mop 100 of FIG. 1, may operate. At operation 320, the robotic mop may determine whether or not to navigate. For example, the robotic mop may determine to navigate based on a current position and a destination position, based on a map, in response to received input from a remote and/or other kind of control, and so on. If so, the flow may proceed to operation 330. Otherwise, the flow may proceed to operation 340.

At operation 330, after the robotic mop determines to navigate, the robotic mop may operate one or more mop head assemblies in order to navigate as determined. For example, the robotic mop may tilt the one or more mop head assemblies, rotate one or more mop head assemblies, rotate the one or more mop head assemblies at a particular speed, change the rotation speed of the one or more mop head assemblies, change the tilt of the one or more mop head assemblies, alter the friction between the one or more mop head assemblies and one or more surfaces, and so on. The flow may then proceed to operation 340.

At operation 340, the robotic mop may determine whether or not to dispense. For example, the robotic mop may be operable to dispense one or more fluids (such as one or more mop fluids, water, and so on) from one or more reservoirs through one or more dispensing heads using one or more pumps. If so, the flow may proceed to operation 350 where the robotic mop may dispense before the flow returns to operation 310 and the robotic mop continues to operate. Otherwise, the flow may proceed directly to operation 310 where the robotic mop continues to operate without dispensing.

In various examples, this example method 300 may be implemented using a group of interrelated software modules or components that perform various functions discussed herein. These software modules or components may be executed within a cloud network and/or by one or more computing and/or other electronic devices, such as the robotic mop 100 of FIG. 1.

Although the example method 300 is illustrated and described as including particular operations performed in a particular order, it is understood that this is an example. In various implementations, various orders of the same, similar, and/or different operations may be performed without departing from the scope of the present disclosure.

For example, the method 300 is illustrated as determining whether or not to navigate and then determining whether or not to dispense. However, it is understood that this is an example. In various implementations, these operations may be performed in other orders, such as simultaneously, reversed, and so on. In any number of implementations, the determination of whether or not to navigate may be performed in response to a variety of different factors and may be unrelated to each other. Various configurations are possible and completed without departing from the scope of the present disclosure.

In various implementations, a mop device may include a base, a controller coupled to the base, a reservoir coupled to the base, a dispensing head coupled to the reservoir, a first mop assembly, a second mop assembly, and a third mop assembly. The first mop assembly may include a first motor mount, a first servo coupled to the base and to the first motor mount, a first mop head, and a first motor coupled to the first mop head and the first motor mount. The second mop assembly may include a second motor mount, a second servo coupled to the base and to the second motor mount, a second mop head, and a second motor coupled to the second mop head and the second motor mount. The third mop assembly may include a third motor mount, a third servo coupled to the base and to the third motor mount, a third mop head, and a third motor coupled to the third mop head and the third motor mount.

In some examples, the first mop head may be configured to couple to a mop pad. In a number of examples, the mop device may further include a fourth mop assembly having a fourth motor mount, a fourth servo coupled to the base and to the fourth motor mount, a fourth mop head, and a fourth motor coupled to the fourth mop head and the fourth motor mount. In various examples, the controller may be operable to cause the first servo to tilt the first motor mount with respect to the base in at least one of two directions. In some examples, the controller may be operable to cause the first motor to rotate the first mop head in at least one of two directions. In a number of examples, the controller may be operable to cause the first motor to rotate the first mop head in at least a first speed and a second speed. In various examples, the first mop assembly, the second mop assembly, and the third mop assembly may be configured to cooperatively support the base on a surface.

In various embodiments, a mop device may include a base, a controller coupled to the base, a reservoir coupled to the base, a dispensing head coupled to the reservoir, a first mop assembly coupled to the base, and a second mop head coupled to the base. The first mop assembly and the second mop head may be operable to support the base on a surface. The controller may be operable to operate at least one of the first mop assembly or the second mop head to direct movement of the mop device in a direction.

In some examples, the controller may be operable to rotate the first mop assembly. In a number of examples, the controller may be operable to control a speed at which the first mop assembly rotates. In various examples, the controller may be operable to tilt the first mop assembly. In some examples, the controller may be operable to control a direction in which the first mop assembly rotates. In a number of examples, the controller may be operable to receive input specifying the direction. In some such examples, the input may be detected information regarding movement of the mop device by a user.

In a number of implementations, a mop device may include a base, a controller coupled to the base, a reservoir coupled to the base, a dispensing head coupled to the reservoir, a first mop assembly coupled to the base, and a second mop head coupled to the base. The first mop assembly and the second mop head may be operable to support the base on a surface. The controller may be operable to move the mop device in a direction by at least one of rotating the first mop assembly or the second mop head, controlling a rotation speed of the first mop assembly or the second mop head, controlling a rotation direction of the first mop assembly or the second mop head, or tilting the first mop assembly or the second mop head.

In various examples, the controller may be operable to rotate the first mop assembly and the second mop head, control the rotation speed of the first mop assembly and the second mop head, control the rotation direction of the first mop assembly and the second mop head, and tilt the first mop assembly and the second mop head. In some examples, the controller may be operable to control the first mop assembly and the second mop head independently of each other. In a number of examples, the controller may move the mop device in the direction according to a stored map. In various examples, the controller may move the mop device in the direction according to input received from a remote control unit. In some examples, the controller may control movement of the first mop assembly or the second mop head to account for fluid between the first mop assembly or the second mop head and the surface.

Although the above illustrates and describes a number of embodiments, it is understood that these are examples. In various implementations, various techniques of individual embodiments may be combined without departing from the scope of the present disclosure.

As described above and illustrated in the accompanying figures, the present disclosure relates to a robotic mop that includes one or more mop assemblies that are used for support, mobility, and scrubbing. The mop assemblies may be operated to both scrub and move the robotic mop along the intended path. For example, the robotic mop may operate the mop assemblies in this way by rotating the mop assemblies in one or more directions at various different speeds, by tilting the mop assemblies (whether or not while rotating the mop assemblies at the time), and so on. In this way, the robotic mop may be able to move while scrubbing with various amounts of force without disrupting navigation.

In the present disclosure, the methods disclosed may be implemented as sets of instructions or software readable by a device. Further, it is understood that the specific order or hierarchy of steps in the methods disclosed are examples of sample approaches. In other embodiments, the specific order or hierarchy of steps in the method can be rearranged while remaining within the disclosed subject matter. The accompanying method claims present elements of the various steps in a sample order, and are not necessarily meant to be limited to the specific order or hierarchy presented.

The described disclosure may be provided as a computer program product, or software, that may include a non-transitory machine-readable medium having stored thereon instructions, which may be used to program a computer system (or other electronic devices) to perform a process according to the present disclosure. A non-transitory machine-readable medium includes any mechanism for storing information in a form (e.g., software, processing application) readable by a machine (e.g., a computer). The non-transitory machine-readable medium may take the form of, but is not limited to, a magnetic storage medium (e.g., floppy diskette, video cassette, and so on); optical storage medium (e.g., CD-ROM); magneto-optical storage medium; read only memory (ROM); random access memory (RAM); erasable programmable memory (e.g., EPROM and EEPROM); flash memory; and so on.

The foregoing description, for purposes of explanation, used specific nomenclature to provide a thorough understanding of the described embodiments. However, it will be apparent to one skilled in the art that the specific details are not required in order to practice the described embodiments. Thus, the foregoing descriptions of the specific embodiments described herein are presented for purposes of illustration and description. They are not targeted to be exhaustive or to limit the embodiments to the precise forms disclosed. It will be apparent to one of ordinary skill in the art that many modifications and variations are possible in view of the above teachings. 

What is claimed is:
 1. A mop device, comprising: a base; a controller coupled to the base; a reservoir coupled to the base; a dispensing head coupled to the reservoir; a first mop assembly, comprising: a first motor mount; a first servo coupled to the base and to the first motor mount; a first mop head; and a first motor coupled to the first mop head and the first motor mount; a second mop assembly, comprising: a second motor mount; a second servo coupled to the base and to the second motor mount; a second mop head; and a second motor coupled to the second mop head and the second motor mount; a third mop assembly, comprising: a third motor mount; a third servo coupled to the base and to the third motor mount; a third mop head; and a third motor coupled to the third mop head and the third motor mount.
 2. The mop device of claim 1, wherein the first mop head is configured to couple to a mop pad.
 3. The mop device of claim 1, further comprising a fourth mop assembly, comprising: a fourth motor mount; a fourth servo coupled to the base and to the fourth motor mount; a fourth mop head; and a fourth motor coupled to the fourth mop head and the fourth motor mount.
 4. The mop device of claim 1, wherein the controller is operable to cause the first servo to tilt the first motor mount with respect to the base in at least one of two directions.
 5. The mop device of claim 1, wherein the controller is operable to cause the first motor to rotate the first mop head in at least one of two directions.
 6. The mop device of claim 1, wherein the controller is operable to cause the first motor to rotate the first mop head in at least a first speed and a second speed.
 7. The mop device of claim 1, wherein the first mop assembly, the second mop assembly, and the third mop assembly are configured to cooperatively support the base on a surface.
 8. A mop device, comprising: a base; a controller coupled to the base; a reservoir coupled to the base; a dispensing head coupled to the reservoir; a first mop assembly coupled to the base; and a second mop assembly coupled to the base; wherein: the first mop assembly and the second mop assembly are operable to support the base on a surface; and the controller is operable to operate at least one of the first mop assembly or the second mop assembly to direct movement of the mop device in a direction.
 9. The mop device of claim 8, wherein the controller is operable to rotate the first mop assembly.
 10. The mop device of claim 8, wherein the controller is operable to control a speed at which the first mop assembly rotates.
 11. The mop device of claim 8, wherein the controller is operable to tilt the first mop assembly.
 12. The mop device of claim 8, wherein the controller is operable to control a direction in which the first mop assembly rotates.
 13. The mop device of claim 8, wherein the controller is operable to receive input specifying the direction.
 14. The mop device of claim 13, wherein the input comprises detected information regarding movement of the mop device by a user.
 15. A mop device, comprising: a base; a controller coupled to the base; a reservoir coupled to the base; a dispensing head coupled to the reservoir; a first mop assembly coupled to the base; and a second mop assembly coupled to the base; wherein: the first mop assembly and the second mop assembly are operable to support the base on a surface; and the controller is operable to move the mop device in a direction by at least one of: rotating the first mop assembly or the second mop assembly; controlling a rotation speed of the first mop assembly or the second mop assembly; controlling a rotation direction of the first mop assembly or the second mop assembly; or tilting the first mop assembly or the second mop assembly.
 16. The mop device of claim 15, wherein the controller is operable to: rotate the first mop assembly and the second mop assembly; control the rotation speed of the first mop assembly and the second mop assembly; control the rotation direction of the first mop assembly and the second mop assembly; and tilt the first mop assembly and the second mop assembly.
 17. The mop device of claim 15, wherein the controller is operable to control the first mop assembly and the second mop assembly independently of each other.
 18. The mop device of claim 15, wherein the controller moves the mop device in the direction according to a stored map.
 19. The mop device of claim 15, wherein the controller moves the mop device in the direction according to input received from a remote control unit.
 20. The mop device of claim 15, wherein the controller controls movement of the first mop assembly or the second mop assembly to account for fluid between the first mop assembly or the second mop assembly and the surface. 